/*
* This file is a part of the open-eBackup project.
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at
* http://mozilla.org/MPL/2.0/.
*
* Copyright (c) [2024] Huawei Technologies Co.,Ltd.
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
*/
#ifndef __PLUGINCFG_PARSE_H__
#define __PLUGINCFG_PARSE_H__

#define private public
#define protected public

#include "pluginfx/PluginCfgParse.h"
#include "common/Log.h"
#include "securec.h"
#include "common/Defines.h"
#include "common/ErrorCode.h"
#include "gtest/gtest.h"
#include "stub.h"

static Stub *m_stub = NULL;

class CMpPluginCfgParseTest: public testing::Test{
protected:
};

mp_void StubCMpPluginCfgTestLogVoid(mp_void* pthis);

class CMpPluginCfgTest: public testing::Test{
public:
    static mp_void SetUpTestCase(){
        m_stub = new Stub;
        m_stub->set((mp_void (CLogger::*)(const mp_int32, const mp_int32, const mp_string&, const mp_string&, ...))ADDR(CLogger,Log), StubCMpPluginCfgTestLogVoid);
    }
    static mp_void TearDownTestCase()
    {
        if(m_stub != NULL) {
            delete m_stub;
        }
    }
    Stub stub;
};

mp_void StubCMpPluginCfgTestLogVoid(mp_void* pthis){
    return;
}

#endif



